{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "22d54df4-c990-401a-991c-67efdbd4fc32",
   "metadata": {},
   "source": [
    "## Documentation"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3ec028ed-ebad-4378-88a2-7ab44e738752",
   "metadata": {
    "tags": []
   },
   "source": [
    "### HTML"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "099945cc-1180-4d0b-9bfa-5ae998ba3103",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "UsageError: %%bash is a cell magic, but the cell body is empty.\n"
     ]
    }
   ],
   "source": [
    "%%bash\n",
    "\n",
    "make html\n",
    "find build -type f -name '*.ipynb' -delete"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f7383ee0-2723-4cd8-92d4-ce895e55829b",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Clear"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "d56b879f-4022-494c-b51b-9afd4e920554",
   "metadata": {},
   "outputs": [],
   "source": [
    "%%bash\n",
    "rm -rf build/html/*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "b2d7ddbb-7996-4a0a-b136-23f4c088c9e3",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Installed kernelspec pipy in /home/jupyter-blankjul/.local/share/jupyter/kernels/pipy\n"
     ]
    }
   ],
   "source": [
    "%%bash\n",
    "eval \"$(conda shell.bash hook)\"\n",
    "conda activate /home/jupyter-blankjul/anaconda3/envs/pypi\n",
    "python -m ipykernel install --user --name=pipy"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6ee905b8-bfe4-4922-bbe7-e3107beaa66b",
   "metadata": {
    "tags": []
   },
   "source": [
    "## Notebooks"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "40d1044c-774f-4784-9b35-0ff2fc03ef3c",
   "metadata": {},
   "source": [
    "### Serve"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2c8882cb-c2b6-404b-862c-6655cb677a68",
   "metadata": {},
   "outputs": [],
   "source": [
    "%%bash\n",
    "\n",
    "python3 -m http.server --directory  build/html"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ebb5fc98-bd4e-4d26-86eb-18c17cf182f6",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Clear"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "c5437da6-1474-411a-98c4-42bd23a9e7e2",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[NbConvertApp] Converting notebook source/algorithms/moo/nsga2.ipynb to notebook\n",
      "[NbConvertApp] Writing 5857 bytes to source/algorithms/moo/nsga2.ipynb\n"
     ]
    }
   ],
   "source": [
    "%%bash\n",
    "\n",
    "jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace  source/algorithms/moo/nsga2.ipynb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "8677d1cb-ce2f-42d9-b7ee-ddf98d9d3ae4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "source/operators/sampling.ipynb\n",
      "source/operators/selection.ipynb\n",
      "source/operators/mutation.ipynb\n",
      "source/operators/crossover.ipynb\n",
      "source/operators/index.ipynb\n",
      "source/operators/repair.ipynb\n",
      "source/versions.ipynb\n",
      "source/getting_started/part_2.ipynb\n",
      "source/getting_started/part_3.ipynb\n",
      "source/getting_started/preface.ipynb\n",
      "source/getting_started/part_1.ipynb\n",
      "source/getting_started/source_code.ipynb\n",
      "source/getting_started/part_4.ipynb\n",
      "source/getting_started/part_5.ipynb\n",
      "source/getting_started/index.ipynb\n",
      "source/problems/dynamic/df.ipynb\n",
      "source/problems/test_problems.ipynb\n",
      "source/problems/parallelization.ipynb\n",
      "source/problems/multi/sym_part.ipynb\n",
      "source/problems/multi/welded_beam.ipynb\n",
      "source/problems/multi/tnk.ipynb\n",
      "source/problems/multi/omni_test.ipynb\n",
      "source/problems/multi/truss2d.ipynb\n",
      "source/problems/multi/osy.ipynb\n",
      "source/problems/multi/bnh.ipynb\n",
      "source/problems/multi/zdt.ipynb\n",
      "source/problems/constrained/dascmop.ipynb\n",
      "source/problems/constrained/mw.ipynb\n",
      "source/problems/constrained/modact.ipynb\n",
      "source/problems/definition.ipynb\n",
      "source/problems/many/wfg.ipynb\n",
      "source/problems/many/dtlz.ipynb\n",
      "source/problems/index.ipynb\n",
      "source/problems/single/griewank.ipynb\n",
      "source/problems/single/rastrigin.ipynb\n",
      "source/problems/single/rosenbrock.ipynb\n",
      "source/problems/single/zakharov.ipynb\n",
      "source/problems/single/ackley.ipynb\n",
      "source/.ipynb_checkpoints/versions-checkpoint.ipynb\n",
      "source/case_studies/index.ipynb\n",
      "source/case_studies/subset_selection.ipynb\n",
      "source/case_studies/portfolio_allocation.ipynb\n",
      "source/constraints/index.ipynb\n",
      "source/constraints/repair.ipynb\n",
      "source/constraints/feas_first.ipynb\n",
      "source/constraints/as_penalty.ipynb\n",
      "source/constraints/eps.ipynb\n",
      "source/constraints/problem.ipynb\n",
      "source/constraints/as_obj.ipynb\n",
      "source/gradients/index.ipynb\n",
      "source/visualization/radviz.ipynb\n",
      "source/visualization/index.ipynb\n",
      "source/visualization/pcp.ipynb\n",
      "source/visualization/radar.ipynb\n",
      "source/visualization/petal.ipynb\n",
      "source/visualization/video.ipynb\n",
      "source/visualization/scatter.ipynb\n",
      "source/visualization/star.ipynb\n",
      "source/visualization/heatmap.ipynb\n",
      "source/installation.ipynb\n",
      "source/interface/display.ipynb\n",
      "source/interface/problem.ipynb\n",
      "source/interface/minimize.ipynb\n",
      "source/interface/algorithm.ipynb\n",
      "source/interface/result.ipynb\n",
      "source/interface/callback.ipynb\n",
      "source/interface/index.ipynb\n",
      "source/interface/termination.ipynb\n",
      "source/customization/initialization.ipynb\n",
      "source/customization/discrete.ipynb\n",
      "source/customization/subset.ipynb\n",
      "source/customization/custom.ipynb\n",
      "source/customization/binary.ipynb\n",
      "source/customization/permutation.ipynb\n",
      "source/customization/mixed.ipynb\n",
      "source/mcdm/index.ipynb\n",
      "source/contribute.ipynb\n",
      "source/misc/kktpm.ipynb\n",
      "source/misc/decomposition.ipynb\n",
      "source/misc/indicators.ipynb\n",
      "source/misc/convergence.ipynb\n",
      "source/misc/index.ipynb\n",
      "source/misc/checkpoint.ipynb\n",
      "source/misc/reference_directions.ipynb\n",
      "source/algorithms/usage.ipynb\n",
      "source/algorithms/initialization.ipynb\n",
      "source/algorithms/moo/ctaea.ipynb\n",
      "source/algorithms/moo/rvea.ipynb\n",
      "source/algorithms/moo/moead.ipynb\n",
      "source/algorithms/moo/nsga3.ipynb\n",
      "source/algorithms/moo/.ipynb_checkpoints/nsga2-checkpoint.ipynb\n",
      "source/algorithms/moo/age.ipynb\n",
      "source/algorithms/moo/dnsga2.ipynb\n",
      "source/algorithms/moo/rnsga3.ipynb\n",
      "source/algorithms/moo/unsga3.ipynb\n",
      "source/algorithms/moo/sms.ipynb\n",
      "source/algorithms/moo/nsga2.ipynb\n",
      "source/algorithms/moo/age2.ipynb\n",
      "source/algorithms/moo/rnsga2.ipynb\n",
      "source/algorithms/list.ipynb\n",
      "source/algorithms/soo/sres.ipynb\n",
      "source/algorithms/soo/isres.ipynb\n",
      "source/algorithms/soo/es.ipynb\n",
      "source/algorithms/soo/pso.ipynb\n",
      "source/algorithms/soo/de.ipynb\n",
      "source/algorithms/soo/nelder.ipynb\n",
      "source/algorithms/soo/brkga.ipynb\n",
      "source/algorithms/soo/pattern.ipynb\n",
      "source/algorithms/soo/g3pcx.ipynb\n",
      "source/algorithms/soo/ga.ipynb\n",
      "source/algorithms/soo/cmaes.ipynb\n",
      "source/algorithms/hyperparameters.ipynb\n",
      "source/algorithms/index.ipynb\n",
      "source/faq.ipynb\n"
     ]
    }
   ],
   "source": [
    "%%bash\n",
    "\n",
    "for file in $(find source -name '*.ipynb');\n",
    "do\n",
    "    echo $file\n",
    "    python ./clear.py  $file\n",
    "done;"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0dc1a412-7d71-4a5c-86fb-5ee5e1be9522",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Run"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "d8940451-9e09-4035-955a-771ae4c6e9d8",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[NbConvertApp] Converting notebook source/operators/sampling.ipynb to notebook\n",
      "[NbConvertApp] Writing 67406 bytes to source/operators/sampling.ipynb\n",
      "[NbConvertApp] Converting notebook source/operators/selection.ipynb to notebook\n",
      "[NbConvertApp] Writing 6309 bytes to source/operators/selection.ipynb\n",
      "[NbConvertApp] Converting notebook source/operators/mutation.ipynb to notebook\n",
      "[NbConvertApp] Writing 31028 bytes to source/operators/mutation.ipynb\n",
      "[NbConvertApp] Converting notebook source/operators/crossover.ipynb to notebook\n",
      "[NbConvertApp] Writing 71623 bytes to source/operators/crossover.ipynb\n",
      "[NbConvertApp] Converting notebook source/operators/index.ipynb to notebook\n",
      "[NbConvertApp] Writing 3469 bytes to source/operators/index.ipynb\n",
      "[NbConvertApp] Converting notebook source/operators/repair.ipynb to notebook\n",
      "[NbConvertApp] Writing 9443 bytes to source/operators/repair.ipynb\n",
      "[NbConvertApp] Converting notebook source/versions.ipynb to notebook\n",
      "[NbConvertApp] Writing 10463 bytes to source/versions.ipynb\n",
      "[NbConvertApp] Converting notebook source/getting_started/part_2.ipynb to notebook\n",
      "[NbConvertApp] Writing 49311 bytes to source/getting_started/part_2.ipynb\n",
      "[NbConvertApp] Converting notebook source/getting_started/part_3.ipynb to notebook\n",
      "[NbConvertApp] Writing 98096 bytes to source/getting_started/part_3.ipynb\n",
      "[NbConvertApp] Converting notebook source/getting_started/preface.ipynb to notebook\n",
      "[NbConvertApp] Writing 10225 bytes to source/getting_started/preface.ipynb\n",
      "[NbConvertApp] Converting notebook source/getting_started/part_1.ipynb to notebook\n",
      "[NbConvertApp] Writing 95914 bytes to source/getting_started/part_1.ipynb\n",
      "[NbConvertApp] Converting notebook source/getting_started/source_code.ipynb to notebook\n",
      "[NbConvertApp] Writing 24905 bytes to source/getting_started/source_code.ipynb\n",
      "[NbConvertApp] Converting notebook source/getting_started/part_4.ipynb to notebook\n",
      "[NbConvertApp] Writing 263440 bytes to source/getting_started/part_4.ipynb\n",
      "[NbConvertApp] Converting notebook source/getting_started/part_5.ipynb to notebook\n",
      "[NbConvertApp] Writing 3954 bytes to source/getting_started/part_5.ipynb\n",
      "[NbConvertApp] Converting notebook source/getting_started/index.ipynb to notebook\n",
      "[NbConvertApp] Writing 2814 bytes to source/getting_started/index.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/dynamic/df.ipynb to notebook\n",
      "[NbConvertApp] Writing 2812455 bytes to source/problems/dynamic/df.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/test_problems.ipynb to notebook\n",
      "[NbConvertApp] Writing 16036 bytes to source/problems/test_problems.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/parallelization.ipynb to notebook\n",
      "[NbConvertApp] Writing 17007 bytes to source/problems/parallelization.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/multi/sym_part.ipynb to notebook\n",
      "[NbConvertApp] Writing 47396 bytes to source/problems/multi/sym_part.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/multi/welded_beam.ipynb to notebook\n",
      "[NbConvertApp] Writing 18536 bytes to source/problems/multi/welded_beam.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/multi/tnk.ipynb to notebook\n",
      "[NbConvertApp] Writing 15651 bytes to source/problems/multi/tnk.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/multi/omni_test.ipynb to notebook\n",
      "[NbConvertApp] Writing 72781 bytes to source/problems/multi/omni_test.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/multi/truss2d.ipynb to notebook\n",
      "[NbConvertApp] Writing 43914 bytes to source/problems/multi/truss2d.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/multi/osy.ipynb to notebook\n",
      "[NbConvertApp] Writing 17722 bytes to source/problems/multi/osy.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/multi/bnh.ipynb to notebook\n",
      "[NbConvertApp] Writing 18241 bytes to source/problems/multi/bnh.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/multi/zdt.ipynb to notebook\n",
      "[NbConvertApp] Writing 112887 bytes to source/problems/multi/zdt.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/constrained/dascmop.ipynb to notebook\n",
      "[NbConvertApp] Writing 158256 bytes to source/problems/constrained/dascmop.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/constrained/mw.ipynb to notebook\n",
      "[NbConvertApp] Writing 340184 bytes to source/problems/constrained/mw.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/constrained/modact.ipynb to notebook\n",
      "Traceback (most recent call last):\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/bin/jupyter-nbconvert\", line 8, in <module>\n",
      "    sys.exit(main())\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/jupyter_core/application.py\", line 269, in launch_instance\n",
      "    return super().launch_instance(argv=argv, **kwargs)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/traitlets/config/application.py\", line 976, in launch_instance\n",
      "    app.start()\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/nbconvertapp.py\", line 423, in start\n",
      "    self.convert_notebooks()\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/nbconvertapp.py\", line 597, in convert_notebooks\n",
      "    self.convert_single_notebook(notebook_filename)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/nbconvertapp.py\", line 560, in convert_single_notebook\n",
      "    output, resources = self.export_single_notebook(\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/nbconvertapp.py\", line 488, in export_single_notebook\n",
      "    output, resources = self.exporter.from_filename(\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/exporters/exporter.py\", line 189, in from_filename\n",
      "    return self.from_file(f, resources=resources, **kw)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/exporters/exporter.py\", line 206, in from_file\n",
      "    return self.from_notebook_node(\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/exporters/notebook.py\", line 35, in from_notebook_node\n",
      "    nb_copy, resources = super().from_notebook_node(nb, resources, **kw)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/exporters/exporter.py\", line 146, in from_notebook_node\n",
      "    nb_copy, resources = self._preprocess(nb_copy, resources)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/exporters/exporter.py\", line 335, in _preprocess\n",
      "    nbc, resc = preprocessor(nbc, resc)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/preprocessors/base.py\", line 47, in __call__\n",
      "    return self.preprocess(nb, resources)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/preprocessors/execute.py\", line 89, in preprocess\n",
      "    self.preprocess_cell(cell, resources, index)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/preprocessors/execute.py\", line 110, in preprocess_cell\n",
      "    cell = self.execute_cell(cell, index, store_history=True)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbclient/util.py\", line 85, in wrapped\n",
      "    return just_run(coro(*args, **kwargs))\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbclient/util.py\", line 60, in just_run\n",
      "    return loop.run_until_complete(coro)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/asyncio/base_events.py\", line 647, in run_until_complete\n",
      "    return future.result()\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbclient/client.py\", line 1025, in async_execute_cell\n",
      "    await self._check_raise_for_error(cell, cell_index, exec_reply)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbclient/client.py\", line 919, in _check_raise_for_error\n",
      "    raise CellExecutionError.from_cell_and_msg(cell, exec_reply_content)\n",
      "nbclient.exceptions.CellExecutionError: An error occurred while executing the following cell:\n",
      "------------------\n",
      "from pymoo.problems.multi import MODAct\n",
      "from pymoo.util.plotting import plot\n",
      "\n",
      "problem = MODAct(\"cs3\")\n",
      "plot(problem.pareto_front(), no_fill=True)\n",
      "------------------\n",
      "\n",
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n",
      "\u001b[0;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)\n",
      "File \u001b[0;32m~/anaconda3/envs/pypi/lib/python3.9/site-packages/pymoo/problems/multi/modact.py:34\u001b[0m, in \u001b[0;36mMODAct.__init__\u001b[0;34m(self, function, pf, **kwargs)\u001b[0m\n",
      "\u001b[1;32m     33\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n",
      "\u001b[0;32m---> 34\u001b[0m     \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mmodact\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mproblems\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mpb\u001b[39;00m\n",
      "\u001b[1;32m     35\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m:\n",
      "\n",
      "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'modact'\n",
      "\n",
      "During handling of the above exception, another exception occurred:\n",
      "\n",
      "\u001b[0;31mException\u001b[0m                                 Traceback (most recent call last)\n",
      "Input \u001b[0;32mIn [1]\u001b[0m, in \u001b[0;36m<cell line: 4>\u001b[0;34m()\u001b[0m\n",
      "\u001b[1;32m      1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpymoo\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mproblems\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmulti\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MODAct\n",
      "\u001b[1;32m      2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpymoo\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutil\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mplotting\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m plot\n",
      "\u001b[0;32m----> 4\u001b[0m problem \u001b[38;5;241m=\u001b[39m \u001b[43mMODAct\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcs3\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n",
      "\u001b[1;32m      5\u001b[0m plot(problem\u001b[38;5;241m.\u001b[39mpareto_front(), no_fill\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n",
      "\n",
      "File \u001b[0;32m~/anaconda3/envs/pypi/lib/python3.9/site-packages/pymoo/problems/multi/modact.py:36\u001b[0m, in \u001b[0;36mMODAct.__init__\u001b[0;34m(self, function, pf, **kwargs)\u001b[0m\n",
      "\u001b[1;32m     34\u001b[0m     \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mmodact\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mproblems\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mpb\u001b[39;00m\n",
      "\u001b[1;32m     35\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m:\n",
      "\u001b[0;32m---> 36\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mPlease install the modact library: https://github.com/epfl-lamd/modact\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
      "\u001b[1;32m     38\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(function, pb\u001b[38;5;241m.\u001b[39mProblem):\n",
      "\u001b[1;32m     39\u001b[0m     \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfct \u001b[38;5;241m=\u001b[39m function\n",
      "\n",
      "\u001b[0;31mException\u001b[0m: Please install the modact library: https://github.com/epfl-lamd/modact\n",
      "Exception: Please install the modact library: https://github.com/epfl-lamd/modact\n",
      "\n",
      "[NbConvertApp] Converting notebook source/problems/definition.ipynb to notebook\n",
      "[NbConvertApp] Writing 12093 bytes to source/problems/definition.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/many/wfg.ipynb to notebook\n",
      "[NbConvertApp] Writing 1175 bytes to source/problems/many/wfg.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/many/dtlz.ipynb to notebook\n",
      "[NbConvertApp] Writing 475998 bytes to source/problems/many/dtlz.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/index.ipynb to notebook\n",
      "[NbConvertApp] Writing 2018 bytes to source/problems/index.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/single/griewank.ipynb to notebook\n",
      "[NbConvertApp] Writing 46758 bytes to source/problems/single/griewank.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/single/rastrigin.ipynb to notebook\n",
      "[NbConvertApp] Writing 556534 bytes to source/problems/single/rastrigin.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/single/rosenbrock.ipynb to notebook\n",
      "[NbConvertApp] Writing 240939 bytes to source/problems/single/rosenbrock.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/single/zakharov.ipynb to notebook\n",
      "[NbConvertApp] Writing 335202 bytes to source/problems/single/zakharov.ipynb\n",
      "[NbConvertApp] Converting notebook source/problems/single/ackley.ipynb to notebook\n",
      "[NbConvertApp] Writing 480613 bytes to source/problems/single/ackley.ipynb\n",
      "[NbConvertApp] Converting notebook source/.ipynb_checkpoints/versions-checkpoint.ipynb to notebook\n",
      "[NbConvertApp] Writing 8392 bytes to source/.ipynb_checkpoints/versions-checkpoint.ipynb\n",
      "[NbConvertApp] Converting notebook source/case_studies/index.ipynb to notebook\n",
      "[NbConvertApp] Writing 1371 bytes to source/case_studies/index.ipynb\n",
      "[NbConvertApp] Converting notebook source/case_studies/subset_selection.ipynb to notebook\n",
      "[NbConvertApp] Writing 14227 bytes to source/case_studies/subset_selection.ipynb\n",
      "[NbConvertApp] Converting notebook source/case_studies/portfolio_allocation.ipynb to notebook\n",
      "[NbConvertApp] Writing 78730 bytes to source/case_studies/portfolio_allocation.ipynb\n",
      "[NbConvertApp] Converting notebook source/constraints/index.ipynb to notebook\n",
      "[NbConvertApp] Writing 140436 bytes to source/constraints/index.ipynb\n",
      "[NbConvertApp] Converting notebook source/constraints/repair.ipynb to notebook\n",
      "[NbConvertApp] Writing 9681 bytes to source/constraints/repair.ipynb\n",
      "[NbConvertApp] Converting notebook source/constraints/feas_first.ipynb to notebook\n",
      "[NbConvertApp] Writing 3620 bytes to source/constraints/feas_first.ipynb\n",
      "[NbConvertApp] Converting notebook source/constraints/as_penalty.ipynb to notebook\n",
      "[NbConvertApp] Writing 6185 bytes to source/constraints/as_penalty.ipynb\n",
      "[NbConvertApp] Converting notebook source/constraints/eps.ipynb to notebook\n",
      "[NbConvertApp] Writing 3637 bytes to source/constraints/eps.ipynb\n",
      "[NbConvertApp] Converting notebook source/constraints/problem.ipynb to notebook\n",
      "[NbConvertApp] Writing 810 bytes to source/constraints/problem.ipynb\n",
      "[NbConvertApp] Converting notebook source/constraints/as_obj.ipynb to notebook\n",
      "[NbConvertApp] Writing 26782 bytes to source/constraints/as_obj.ipynb\n",
      "[NbConvertApp] Converting notebook source/gradients/index.ipynb to notebook\n",
      "[NbConvertApp] Writing 4089 bytes to source/gradients/index.ipynb\n",
      "[NbConvertApp] Converting notebook source/visualization/radviz.ipynb to notebook\n",
      "[NbConvertApp] Writing 60341 bytes to source/visualization/radviz.ipynb\n",
      "[NbConvertApp] Converting notebook source/visualization/index.ipynb to notebook\n",
      "[NbConvertApp] Writing 53875 bytes to source/visualization/index.ipynb\n",
      "[NbConvertApp] Converting notebook source/visualization/pcp.ipynb to notebook\n",
      "[NbConvertApp] Writing 433430 bytes to source/visualization/pcp.ipynb\n",
      "[NbConvertApp] Converting notebook source/visualization/radar.ipynb to notebook\n",
      "[NbConvertApp] Writing 98246 bytes to source/visualization/radar.ipynb\n",
      "[NbConvertApp] Converting notebook source/visualization/petal.ipynb to notebook\n",
      "[NbConvertApp] Writing 158581 bytes to source/visualization/petal.ipynb\n",
      "[NbConvertApp] Converting notebook source/visualization/video.ipynb to notebook\n",
      "[NbConvertApp] ERROR | Kernel died while waiting for execute reply.\n",
      "Traceback (most recent call last):\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbclient/client.py\", line 780, in _async_poll_for_reply\n",
      "    msg = await ensure_async(self.kc.shell_channel.get_msg(timeout=new_timeout))\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbclient/util.py\", line 97, in ensure_async\n",
      "    result = await obj\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/jupyter_client/channels.py\", line 224, in get_msg\n",
      "    ready = await self.socket.poll(timeout)\n",
      "asyncio.exceptions.CancelledError\n",
      "\n",
      "During handling of the above exception, another exception occurred:\n",
      "\n",
      "Traceback (most recent call last):\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbclient/client.py\", line 1006, in async_execute_cell\n",
      "    exec_reply = await self.task_poll_for_reply\n",
      "asyncio.exceptions.CancelledError\n",
      "\n",
      "During handling of the above exception, another exception occurred:\n",
      "\n",
      "Traceback (most recent call last):\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/bin/jupyter-nbconvert\", line 8, in <module>\n",
      "    sys.exit(main())\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/jupyter_core/application.py\", line 269, in launch_instance\n",
      "    return super().launch_instance(argv=argv, **kwargs)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/traitlets/config/application.py\", line 976, in launch_instance\n",
      "    app.start()\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/nbconvertapp.py\", line 423, in start\n",
      "    self.convert_notebooks()\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/nbconvertapp.py\", line 597, in convert_notebooks\n",
      "    self.convert_single_notebook(notebook_filename)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/nbconvertapp.py\", line 560, in convert_single_notebook\n",
      "    output, resources = self.export_single_notebook(\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/nbconvertapp.py\", line 488, in export_single_notebook\n",
      "    output, resources = self.exporter.from_filename(\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/exporters/exporter.py\", line 189, in from_filename\n",
      "    return self.from_file(f, resources=resources, **kw)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/exporters/exporter.py\", line 206, in from_file\n",
      "    return self.from_notebook_node(\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/exporters/notebook.py\", line 35, in from_notebook_node\n",
      "    nb_copy, resources = super().from_notebook_node(nb, resources, **kw)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/exporters/exporter.py\", line 146, in from_notebook_node\n",
      "    nb_copy, resources = self._preprocess(nb_copy, resources)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/exporters/exporter.py\", line 335, in _preprocess\n",
      "    nbc, resc = preprocessor(nbc, resc)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/preprocessors/base.py\", line 47, in __call__\n",
      "    return self.preprocess(nb, resources)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/preprocessors/execute.py\", line 89, in preprocess\n",
      "    self.preprocess_cell(cell, resources, index)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbconvert/preprocessors/execute.py\", line 110, in preprocess_cell\n",
      "    cell = self.execute_cell(cell, index, store_history=True)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbclient/util.py\", line 85, in wrapped\n",
      "    return just_run(coro(*args, **kwargs))\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbclient/util.py\", line 60, in just_run\n",
      "    return loop.run_until_complete(coro)\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/asyncio/base_events.py\", line 647, in run_until_complete\n",
      "    return future.result()\n",
      "  File \"/home/jupyter-blankjul/anaconda3/envs/pypi/lib/python3.9/site-packages/nbclient/client.py\", line 1010, in async_execute_cell\n",
      "    raise DeadKernelError(\"Kernel died\")\n",
      "nbclient.exceptions.DeadKernelError: Kernel died\n",
      "[NbConvertApp] Converting notebook source/visualization/scatter.ipynb to notebook\n",
      "[NbConvertApp] Writing 140665 bytes to source/visualization/scatter.ipynb\n",
      "[NbConvertApp] Converting notebook source/visualization/star.ipynb to notebook\n",
      "[NbConvertApp] Writing 42429 bytes to source/visualization/star.ipynb\n",
      "[NbConvertApp] Converting notebook source/visualization/heatmap.ipynb to notebook\n",
      "[NbConvertApp] Writing 46010 bytes to source/visualization/heatmap.ipynb\n",
      "[NbConvertApp] Converting notebook source/installation.ipynb to notebook\n",
      "[NbConvertApp] Writing 6988 bytes to source/installation.ipynb\n",
      "[NbConvertApp] Converting notebook source/interface/display.ipynb to notebook\n",
      "[NbConvertApp] Writing 5609 bytes to source/interface/display.ipynb\n",
      "[NbConvertApp] Converting notebook source/interface/problem.ipynb to notebook\n",
      "[NbConvertApp] Writing 6004 bytes to source/interface/problem.ipynb\n",
      "[NbConvertApp] Converting notebook source/interface/minimize.ipynb to notebook\n",
      "[NbConvertApp] Writing 3730 bytes to source/interface/minimize.ipynb\n",
      "[NbConvertApp] Converting notebook source/interface/algorithm.ipynb to notebook\n",
      "[NbConvertApp] Writing 2068 bytes to source/interface/algorithm.ipynb\n",
      "[NbConvertApp] Converting notebook source/interface/result.ipynb to notebook\n",
      "[NbConvertApp] Writing 16720 bytes to source/interface/result.ipynb\n",
      "[NbConvertApp] Converting notebook source/interface/callback.ipynb to notebook\n",
      "[NbConvertApp] Writing 31792 bytes to source/interface/callback.ipynb\n",
      "[NbConvertApp] Converting notebook source/interface/index.ipynb to notebook\n",
      "[NbConvertApp] Writing 3885 bytes to source/interface/index.ipynb\n",
      "[NbConvertApp] Converting notebook source/interface/termination.ipynb to notebook\n",
      "[NbConvertApp] Writing 38654 bytes to source/interface/termination.ipynb\n",
      "[NbConvertApp] Converting notebook source/customization/initialization.ipynb to notebook\n",
      "[NbConvertApp] Writing 6607 bytes to source/customization/initialization.ipynb\n",
      "[NbConvertApp] Converting notebook source/customization/discrete.ipynb to notebook\n",
      "[NbConvertApp] Writing 13804 bytes to source/customization/discrete.ipynb\n",
      "[NbConvertApp] Converting notebook source/customization/subset.ipynb to notebook\n",
      "[NbConvertApp] Writing 14227 bytes to source/customization/subset.ipynb\n",
      "[NbConvertApp] Converting notebook source/customization/custom.ipynb to notebook\n",
      "[NbConvertApp] Writing 20376 bytes to source/customization/custom.ipynb\n",
      "[NbConvertApp] Converting notebook source/customization/binary.ipynb to notebook\n",
      "[NbConvertApp] Writing 3012 bytes to source/customization/binary.ipynb\n",
      "[NbConvertApp] Converting notebook source/customization/permutation.ipynb to notebook\n",
      "[NbConvertApp] Writing 85942 bytes to source/customization/permutation.ipynb\n",
      "[NbConvertApp] Converting notebook source/customization/mixed.ipynb to notebook\n",
      "[NbConvertApp] Writing 18558 bytes to source/customization/mixed.ipynb\n",
      "[NbConvertApp] Converting notebook source/mcdm/index.ipynb to notebook\n",
      "[NbConvertApp] Writing 115488 bytes to source/mcdm/index.ipynb\n",
      "[NbConvertApp] Converting notebook source/contribute.ipynb to notebook\n",
      "[NbConvertApp] Writing 2136 bytes to source/contribute.ipynb\n",
      "[NbConvertApp] Converting notebook source/misc/kktpm.ipynb to notebook\n",
      "[NbConvertApp] Writing 30209 bytes to source/misc/kktpm.ipynb\n",
      "[NbConvertApp] Converting notebook source/misc/decomposition.ipynb to notebook\n",
      "[NbConvertApp] Writing 96827 bytes to source/misc/decomposition.ipynb\n",
      "[NbConvertApp] Converting notebook source/misc/indicators.ipynb to notebook\n",
      "[NbConvertApp] Writing 23660 bytes to source/misc/indicators.ipynb\n",
      "[NbConvertApp] Converting notebook source/misc/convergence.ipynb to notebook\n",
      "[NbConvertApp] Writing 33453 bytes to source/misc/convergence.ipynb\n",
      "[NbConvertApp] Converting notebook source/misc/index.ipynb to notebook\n",
      "[NbConvertApp] Writing 1338 bytes to source/misc/index.ipynb\n",
      "[NbConvertApp] Converting notebook source/misc/checkpoint.ipynb to notebook\n",
      "[NbConvertApp] Writing 12332 bytes to source/misc/checkpoint.ipynb\n",
      "[NbConvertApp] Converting notebook source/misc/reference_directions.ipynb to notebook\n",
      "[NbConvertApp] Writing 688414 bytes to source/misc/reference_directions.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/usage.ipynb to notebook\n",
      "[NbConvertApp] Writing 15263 bytes to source/algorithms/usage.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/initialization.ipynb to notebook\n",
      "[NbConvertApp] Writing 1960 bytes to source/algorithms/initialization.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/ctaea.ipynb to notebook\n",
      "[NbConvertApp] Writing 175336 bytes to source/algorithms/moo/ctaea.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/rvea.ipynb to notebook\n",
      "[NbConvertApp] Writing 86222 bytes to source/algorithms/moo/rvea.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/moead.ipynb to notebook\n",
      "[NbConvertApp] Writing 78894 bytes to source/algorithms/moo/moead.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/nsga3.ipynb to notebook\n",
      "[NbConvertApp] Writing 145783 bytes to source/algorithms/moo/nsga3.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/.ipynb_checkpoints/nsga2-checkpoint.ipynb to notebook\n",
      "[NbConvertApp] Writing 41322 bytes to source/algorithms/moo/.ipynb_checkpoints/nsga2-checkpoint.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/age.ipynb to notebook\n",
      "[NbConvertApp] Writing 45630 bytes to source/algorithms/moo/age.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/dnsga2.ipynb to notebook\n",
      "[NbConvertApp] Writing 83578 bytes to source/algorithms/moo/dnsga2.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/rnsga3.ipynb to notebook\n",
      "[NbConvertApp] Writing 96565 bytes to source/algorithms/moo/rnsga3.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/unsga3.ipynb to notebook\n",
      "[NbConvertApp] Writing 28245 bytes to source/algorithms/moo/unsga3.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/sms.ipynb to notebook\n",
      "[NbConvertApp] Writing 19619 bytes to source/algorithms/moo/sms.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/nsga2.ipynb to notebook\n",
      "[NbConvertApp] Writing 41322 bytes to source/algorithms/moo/nsga2.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/age2.ipynb to notebook\n",
      "[NbConvertApp] Writing 28124 bytes to source/algorithms/moo/age2.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/moo/rnsga2.ipynb to notebook\n",
      "[NbConvertApp] Writing 17594 bytes to source/algorithms/moo/rnsga2.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/list.ipynb to notebook\n",
      "[NbConvertApp] Writing 1333 bytes to source/algorithms/list.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/soo/sres.ipynb to notebook\n",
      "[NbConvertApp] Writing 4339 bytes to source/algorithms/soo/sres.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/soo/isres.ipynb to notebook\n",
      "[NbConvertApp] Writing 3238 bytes to source/algorithms/soo/isres.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/soo/es.ipynb to notebook\n",
      "[NbConvertApp] Writing 3559 bytes to source/algorithms/soo/es.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/soo/pso.ipynb to notebook\n",
      "[NbConvertApp] Writing 5440 bytes to source/algorithms/soo/pso.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/soo/de.ipynb to notebook\n",
      "[NbConvertApp] Writing 6765 bytes to source/algorithms/soo/de.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/soo/nelder.ipynb to notebook\n",
      "[NbConvertApp] Writing 2576 bytes to source/algorithms/soo/nelder.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/soo/brkga.ipynb to notebook\n",
      "[NbConvertApp] Writing 6718 bytes to source/algorithms/soo/brkga.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/soo/pattern.ipynb to notebook\n",
      "[NbConvertApp] Writing 2630 bytes to source/algorithms/soo/pattern.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/soo/g3pcx.ipynb to notebook\n",
      "[NbConvertApp] Writing 2516 bytes to source/algorithms/soo/g3pcx.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/soo/ga.ipynb to notebook\n",
      "[NbConvertApp] Writing 4621 bytes to source/algorithms/soo/ga.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/soo/cmaes.ipynb to notebook\n",
      "[NbConvertApp] Writing 11796 bytes to source/algorithms/soo/cmaes.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/hyperparameters.ipynb to notebook\n",
      "[NbConvertApp] Writing 16008 bytes to source/algorithms/hyperparameters.ipynb\n",
      "[NbConvertApp] Converting notebook source/algorithms/index.ipynb to notebook\n",
      "[NbConvertApp] Writing 2702 bytes to source/algorithms/index.ipynb\n",
      "[NbConvertApp] Converting notebook source/faq.ipynb to notebook\n",
      "[NbConvertApp] Writing 1545 bytes to source/faq.ipynb\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DONE\n"
     ]
    }
   ],
   "source": [
    "%%bash\n",
    "eval \"$(conda shell.bash hook)\"\n",
    "conda activate /home/jupyter-blankjul/anaconda3/envs/pypi\n",
    "\n",
    "for file in $(find source -name '*.ipynb');\n",
    "do\n",
    "    jupyter nbconvert --execute --to notebook --inplace $file\n",
    "done;\n",
    "echo 'DONE'"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
